@objectstack/runtime 11.7.0 → 11.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -333,6 +333,9 @@ function formatErr(err) {
333
333
  }
334
334
  return String(err);
335
335
  }
336
+ function userFacingMessage(raw) {
337
+ return raw.startsWith("Error: ") ? raw.slice("Error: ".length) : raw;
338
+ }
336
339
  var import_quickjs_emscripten, DEFAULT_HOOK_TIMEOUT_MS, DEFAULT_ACTION_TIMEOUT_MS, DEFAULT_MEMORY_MB, QuickJSScriptRunner, SandboxError;
337
340
  var init_quickjs_runner = __esm({
338
341
  "src/sandbox/quickjs-runner.ts"() {
@@ -398,7 +401,10 @@ var init_quickjs_runner = __esm({
398
401
  if (result.error) {
399
402
  const err = vm.dump(result.error);
400
403
  result.error.dispose();
401
- throw new SandboxError(`${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`);
404
+ throw new SandboxError(
405
+ `${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`,
406
+ userFacingMessage(formatErr(err))
407
+ );
402
408
  }
403
409
  result.value.dispose();
404
410
  const resH = vm.getProp(vm.global, "__result");
@@ -420,7 +426,10 @@ var init_quickjs_runner = __esm({
420
426
  if (evalRes.error) {
421
427
  const err = vm.dump(evalRes.error);
422
428
  evalRes.error.dispose();
423
- throw new SandboxError(`${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`);
429
+ throw new SandboxError(
430
+ `${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`,
431
+ userFacingMessage(formatErr(err))
432
+ );
424
433
  }
425
434
  evalRes.value.dispose();
426
435
  let pumps = 0;
@@ -430,13 +439,19 @@ var init_quickjs_runner = __esm({
430
439
  if (pending.error) {
431
440
  const err = vm.dump(pending.error);
432
441
  pending.error.dispose();
433
- throw new SandboxError(`${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`);
442
+ throw new SandboxError(
443
+ `${args.origin.kind} '${args.origin.name}' threw: ${formatErr(err)}`,
444
+ userFacingMessage(formatErr(err))
445
+ );
434
446
  }
435
447
  const errH = vm.getProp(vm.global, "__error");
436
448
  const errStr = vm.dump(errH);
437
449
  errH.dispose();
438
450
  if (errStr) {
439
- throw new SandboxError(`${args.origin.kind} '${args.origin.name}' threw: ${errStr}`);
451
+ throw new SandboxError(
452
+ `${args.origin.kind} '${args.origin.name}' threw: ${errStr}`,
453
+ userFacingMessage(String(errStr))
454
+ );
440
455
  }
441
456
  const resH = vm.getProp(vm.global, "__result");
442
457
  const resStr = vm.dump(resH);
@@ -629,9 +644,10 @@ var init_quickjs_runner = __esm({
629
644
  }
630
645
  };
631
646
  SandboxError = class extends Error {
632
- constructor(message) {
647
+ constructor(message, innerMessage) {
633
648
  super(message);
634
649
  this.name = "SandboxError";
650
+ this.innerMessage = innerMessage;
635
651
  }
636
652
  };
637
653
  }
@@ -4560,8 +4576,11 @@ var _HttpDispatcher = class _HttpDispatcher {
4560
4576
  }
4561
4577
  return { handled: true, response: this.success({ success: true, data: result }) };
4562
4578
  } catch (err) {
4563
- const msg = err?.message ?? String(err);
4564
- return { handled: true, response: this.success({ success: false, error: msg }) };
4579
+ const full = err?.message ?? String(err);
4580
+ const inner = err?.innerMessage;
4581
+ const clientMsg = typeof inner === "string" && inner ? inner : full;
4582
+ if (clientMsg !== full) console.error(`[action ${objectName}/${actionName}] ${full}`);
4583
+ return { handled: true, response: this.success({ success: false, error: clientMsg }) };
4565
4584
  }
4566
4585
  }
4567
4586
  /**